Method for processing the data distributed at online game server and a system thereof

ABSTRACT

A distributed data processing method which defines a predetermined section of the boundary with an adjacent game zone as a buffer sector and flexibly controls a zone server, and a system thereof, wherein the zone server is connected to a client in accordance with a type that an indication area includes the buffer sector. There is an effect that it is possible to provide a distributed data processing method by an online game server and a system thereof, in which a predetermined range based on the boundary with a game zone is defined as a buffer sector, and as a section of the buffer sector is included in an indication area, a user character connects a zone server of a game zone to which the user character moves next, to a client.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of International Patent Application No. PCT/KR2005/000341, filed on Feb. 4, 2005, which claims priority to Korean Patent Application No. 10-2004-0007586, filed on Feb. 5, 2004, each of which is incorporated herein by reference.

BACKGROUND

1. Field of the Invention

The present disclosure relates to a distributed data processing method by an online game server and a system thereof. More particularly, the present disclosure relates to a distributed data processing method and a system thereof which defines a predetermined section of the boundary with an adjacent game zone as a buffer sector and flexibly controls a zone server connected to a client in accordance with a type that an indication area includes the buffer sector.

2. Description of the Related Art

In case that a wide game area is signal-processed by one game server under general online game environments, it causes a lot of problems in aspects of system functions and efficiency of signal processing. In order to solve the problems like above, a variety of data distribution methods are being serviced.

For example, a representative method among the existing data distribution methods is to divide a game area into zones based on a certain criterion, and to allocate an exclusive game server to the divided zones, thereby inducing data distribution.

In distributed data processing by using a division of zones and an exclusive game server like above, in case that a character of a client moves from a current zone to another zone while a game in progress, a time of starting connection or a type of connection of an exclusive game server to be connected in the next are very important factors. This is because there may be tremendous difference in efficiency of data distribution processing by the time of starting connection or the type of connection of the exclusive game server connected to the client.

Hereinafter, a data distribution method considering time of starting connection or a type of connection of an exclusive game server will be briefly described.

First, there may be a data distribution method providing a session server between a client and an exclusive game server. The data distribution method is configured to transmit data of the exclusive game server to the client via the session server. Thus, data generated by the exclusive game server are temporarily recorded in the session server and received by the client. Accordingly, in case that zones provided for the client are at least two, the session server requests an exclusive game server associated with each zone to transmit predetermined data, thereby receives the same and transfers the predetermined data to the client. The data distribution method like above has to transmit data associated with a necessary zone, always, via the session server. Therefore, there is a disadvantage that load by data processing may concentrate on the session server.

Moreover, there may be a data distribution method which receives data associated with an adjacent zone from an exclusive game sever of a zone at which a character is currently located, and provides a client with the received data. At this time, the data associated with the adjacent zone are generated when the character of the client approaches the boundary with the zone. For example, in case that the character of the client is located at the zone A and also faces to the adjacent zone B, the client is connected to the exclusive game server A, the exclusive game server B transmits data in relation to an event occurring at the zone B to the exclusive game server A, and the exclusive game server A collects all the data of the game zones A and B and transmits the collected data to the client.

However, the data distribution method like above has a problem that communication load may suddenly increase between exclusive game servers. In addition, in case that the character moves from the zone A to the zone B, the client has to stop a connection to the zone A and set a connection to the zone B. Therefore, there may be the time difference between two connections. Moreover, in the client's place, there is a limit that loading time by movement of a zone is required for game progress. This may reduce concentration on the game.

Accordingly, there is required a new concept of a data distribution processing model which enables data to be efficiently distributed by restraining load of data from concentrating on a particular exclusive game server. In addition, there is also required a data distribution processing model which, in case that a predetermined range based on the boundary with an adjacent game zone is defined as a buffer sector and an indication area includes the buffer sector, can reduce communication load remarkably by connecting a next zone server to a client.

SUMMARY

The present disclosure is conceived to solve the aforementioned problems. Thus, the present disclosure provides a distributed data processing method by an online game server and a system thereof, in which a predetermined range based on the boundary with a game zone is defined as a buffer sector, and as a section of the buffer sector is included in an indication area, a user character connects a zone server of a game zone to which the user character moves next, to a client.

Furthermore, the present disclosure also provides a distributed data processing method by an online game server and a system thereof which may confirm that an indication area is located on a different game zone and restrain load of data from concentrating on a particular zone server by connecting an associated zone server to a client.

Furthermore, the present disclosure also provides a distributed data processing method by an online game server and a system thereof which perform information transfer with respect to character information when a user character within an indication area changes a game zone to another and is located thereat.

Furthermore, the present disclosure provides a distributed data processing method by an online game server and a system thereof which perform information transfer and updating with respect to character information by location of a user character, thereby efficiently reducing loss or distort of character information.

In order to achieve the above objects, a distributed data processing method by an online game server according to one embodiment of the present disclosure comprises the steps of: maintaining a zone information database for storing game map data that is divided into at least one game zone; allocating zone servers for implementing an instruction processing with respect to a user character, to each of the game zones; mapping an indication area indicated on a predetermined display means, on the game map data, and identifying a game zone at which the mapped indication area is located; and connecting a predetermined client to a zone server that is allocated to the identified game zone; wherein said step of connecting a predetermined client to a zone server that is allocated to the identified game zone comprises the steps of: connecting the client to a first zone server of a first game zone at which a predetermined user character is located; defining a section of the first game zone as a buffer sector, based on a boundary with a second game zone, wherein the second game zone is adjacent to the first game zone; and in case that the indication area includes at least one section of the buffer sector, connecting the client to the second zone server.

Moreover, in order to achieve the above objects, a distributed data processing system by an online game server comprises: a zone information database for storing game map data that is divided into at least one game zone; a management means for allocating zone servers for implementing instruction processing with respect to a user character, to the game zone respectively; a definition means for defining a section of the game zone as a buffer sector based on a boundary with an adjacent game zone; a mapping means for mapping an area indicated by a predetermined display means on the game map data and identifying a game zone at which the indication area is located; and a control means for connecting a predetermined client to a zone server allocated to the identified game zone; wherein in case that at least one section of the indication area is located at the buffer sector, the control means controls the zone server associated with the at least one adjacent game zone, to be connected to the client.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a drawing for explaining schematic configuration of a distributed data processing system according to the present disclosure.

FIG. 2 is a drawing illustrating a distributed data processing system according to a preferred embodiment of the present disclosure.

FIG. 3 is a drawing for explaining game map data and a game zone formed by dividing the game map data, according to the present disclosure,

FIG. 4 is a drawing for explaining a phase of a connection between a client and a zone server in accordance with movement of a user character.

FIG. 5 is a flowchart illustrating a distributed data processing method according to a preferred embodiment of the present disclosure.

FIG. 6 is a flowchart illustrating a method of changing a zone server based on a mapping location of an indication area according to the present disclosure,

FIG. 7 is a flowchart illustrating a method of specifying a type of processing in a zone server.

FIG. 8 is a flowchart illustrating a method of updating character information according to the present disclosure,

FIG. 9 is a flowchart illustrating a method of transferring information on character information,

FIG. 10 is a flowchart illustrating a method of determining whether a connection between a first zone server and a client is cut off.

FIG. 11 is a flowchart illustrating a method of resetting a mapping point of an indication area according to the present disclosure.

FIG. 12 is an internal block diagram of a general-purpose computer which may be adopted in implementing a distributed data processing method according to the present disclosure.

DETAILED DESCRIPTION

Hereinafter, a distributed data processing method and a system thereof will be in detail described with reference to the accompanying drawings.

A game zone used in this specification may be one region in which game map data, a background of game progress, are divided on the basis of a predetermined criterion. At this time, individual game servers (hereinafter, zone servers) are allocated to each of game zones to restrictedly perform instruction processing that occurs in a corresponding region. The game zones like above are resulted from the determination that it is systematically unreasonable for one game server to be in charge of a large range of game map area. Thus, an area range of a game zone to be divided may be flexibly set by the operator of the present system, based on system capacity of an allocated zone server. In addition, a zone server indicates a game server performing instruction processing with respect to a game zone of which the zone server is in charge, and the zone server serves to update character information (e.g., power, items, etc) of a user character in accordance with game progress.

FIG. 1 is a drawing for explaining schematic configuration of a distributed data processing system according to the present disclosure.

A distributed data processing system 100 serves to distribute instruction processing at an online game service by controlling data to be processed by unit of a game zone 112 that is divided into a predetermined region.

First, an online game server 110 is connected to a predetermined terminal (not illustrated) of a client 120 through the distributed data processing system 100 of the present disclosure. The online game server 110 may be a MUD (Multiple User Dialogue) game server, a MUG (Multiple User Graphic) game server, and the like, which provides an online game service for the client 120 that is under a predetermined contract. In case that the client 120 who installed a game-related program in a terminal accesses the online game server 110, a game service provided by the online game server 110 transmits predetermined game progress data or game patch, required for a game, to the terminal and supports game progress using a user character controlled by the client 120. Moreover, the online game server 110 divides game map data necessary for game progress, into a predetermined range (size) of area, thereby forming the game zones 114, and enables the zone servers 112 to be allocated to each of the game zones 114. For example, in FIG. 1, game map data are divided into four game zones (game zone A˜ game zone D) and four zone servers (zone server A˜ zone server D) are allocated to each of zone servers. As aforementioned, the number of the game zones 114 and the size of area thereof may be set by the operator of the present system, and data distribution processing may be performed by limiting instruction processing at an online game by unit of the game zones 114.

At this time, instruction processing may be signal processing, enabling game progress by operating a particular user character in accordance with an instruction signal received from the client 120. For example, instruction processing generated at the game zone 114 may be processing related to control of a user character such as moving the user character, attacking a monster, or the like in accordance with control and operation of the client 120, and processing that controls a background object (a tree, a building, water, etc) or other characters (a monster, other user character, NPC, etc) appearing in the corresponding game zone 114 to be indicated differently by movement of the user character.

The client 120 has a terminal for accessing a communication network 130. The client 120 may be an Internet user who is provided with an online game service by receiving game data or game patch for game progress from the online game server 110 that is under a predetermined contract for providing a game service. The terminal is a device for maintaining a connection state with the online game server 110 through the communication network 130, such as an Internet network, a telephone line, etc, and implementing a game. For example, the terminal may be a personal computer, a handheld computer, a PDA, a cellular phone, a smart phone, and the like, in which a predetermined memory means is provided and a predetermined microprocessor is mounted.

The distributed data processing system 100 serves to identify an area of the game zone 114 to be indicated on the terminal in accordance with movement of a user character and to control the zone server 112 allocated to the identified game zone 114 to be connected to the client 120. The control like above with respect to the zone server 120 is implemented to restrain data load from concentrating on the particular zone sever 112. Hereinafter, a distributed data processing system 200 of the present disclosure will be fully described with reference to FIG. 2.

FIG. 2 is a drawing illustrating a distributed data processing system according to a preferred embodiment of the present disclosure.

The distributed data processing system 200 of the present disclosure comprises a zone information database 210, a management means 220, a definition means 230, a mapping means 240, a control means 250, a confirmation means 260, and a character information database 270.

First, the zone information database 210 is a device for storing game map data divided into at least one game zone 114, and serves to store information on a map that is used at a predetermined online game. That is, the zone information database 210 retains the entire map necessary for game progress and in case that there is a request for abstraction of a map with respect to a particular region by the control means 250, abstracts game map data of the area and provides the same. At this time, the control means 250 will be described later. Division of the game zone 114 may be set by the operator of the present system, based on capacity of the zone server 112 allocated to each game zone 114 or the number thereof 112. Hereinafter, a game zone 320 dividing game map data 310 will be described with reference to FIG. 3.

FIG. 3 is a drawing for explaining game map data and a game zone formed by dividing the game map data, according to the present disclosure

As illustrated in FIG. 3, the game map data 310 consist of a plurality of sectors 330 and one game zone 320 is formed collecting the predetermined number of sectors 330. The game map data 310, 6×6 sectors, are illustrated in FIG. 3. Three divided game zones 320, i.e. the game zone A and the game zone B consist of 3×4 sectors, and the game zone C consists of 6×2 sectors. Each sector 330 is a basic unit for control with respect to game characters (a user character, NPC, etc), items (weapons, potion, etc), objects (a mountains, a road, etc), and the like, or for updating with respect to character information in accordance with game progress of the user character. In addition, the predetermined number (or width) of sectors 330 from the boundary with another adjacent game zone 320, may be defined as a buffer sector (refer to FIG. 4), and information on the defined buffer sector is stored in the zone information database 210.

The management means 220 is a device for respectively allocating the zone servers 112 for performing instruction processing to the game zones 320. Especially, the management means 220 enables instruction processing generating within a range of an area limited to the game zone 320 to be processed exclusively at the particular zone server 112. Thus, data load may be restrained through data distribution. For example, in FIG. 3, as there are three game zones 320, at least three zone servers 112 also have to be provided. At this time, allocation of the zone server 112 with respect to the game zone 320 is based on the number of sectors 330 retained by each of the game zones 320. The zone server 112 with efficient capacity may be allocated to the game zone 320 retaining the more number of sectors 330, and on the contrary, the zone server 112 with less efficient capacity may be allocated to the game zone 320 retaining the less number of sectors 330. This is to enable the zone server 112 with the optimal capacity to be allocated in proportion to the range of an area for performing instruction processing. For example, in FIG. 3, as each of game zones 320 retains the same number of sectors 330, the zone servers 310 with similar capacity are allocated to each of game zones 320. In the present embodiment, as for example, the zone server 112 is allocated based on the number of sectors 330 included in the divided game zone 320, however, this is for convenient explanation. Thus, it is apparent that there may be a variety of division methods, such as for example, a method of setting the appropriate number of sectors 330 per each zone server 112 by considering capacity of the zone server 112 and dividing game map data into game zones 320 on the basis of the set number, and the like.

The definition means 230 is a device for defining a section of the game zone 320 as a buffer sector, based on the boundary with the adjacent game zone 320. The area range of the defined buffer sector may be set, for example, on the basis of the mapping change speed of an indication area in accordance with the speed of game progress, or loading time for a connection between the zone server 112 and the client 120. Namely, in case that the speed of game progress is fast or loading time for a connection is delayed, the definition means 230 enables a stable change of connection of the zone server 112 by enlarging an area to be defined as a buffer sector. Especially, only in the present embodiment in which the game map data 310 consist of a plurality of sectors 330, the definition means 230 may define the sector 330 adjacent to the boarder with another game zone 320 as a buffer sector. In addition, the definition means 230 may determine the area range of the buffer sector on the basis of the number of buffer sectors 330 defined as the buffer sector (e.g., in FIG. 4, the width of one sector 330 is determined as an area of the buffer sector). At this time, the buffer sector may be a sector having a function of, in case that as the user character moves by game progress and the game zone 320 at which the user character is located is changed, enabling the distributed data processing system 200 of the present disclosure to recognize in advance a change of the zone server 112 to be connected to the client 120. In the present embodiment, the buffer sector is compared with a mapping location of an indication area provided for a display means (not illustrated) of the client 120 as a game screen, and the zone server 112 to be connected to the client 120 is adjusted in accordance with the correlation. That is, in case that a mapped indication area includes at least one section of the defined buffer sector, the zone server 112 of the adjacent game zone 320 is connected to the client 120.

In one embodiment, an indication area, or character location space, is a region defined about a user character. In another embodiment, a character location space is the viewable area including the user character. In yet another embodiment, a character location space is the viewable area including the user character and an additional predefined space. The mapping means 240 is a device for mapping an indication area indicated by the display means of the client 120 on the game map data 310 and identifying the game zone 320 at which the indication area is located. That is, the mapping means 240 serves to indicate a location on the game map data 310, so that a map provided for the client 120 may be abstracted from the game map data 310. For this, predetermined virtual coordinates may be provided on the game map data 310 and the location of the indication area may be mapped on the game map data 310 through the virtual coordinates. In the present embodiment, the game map data 310 consist of a plurality of individual sectors 330 and a location of a mapped indication area may be determined as a location of the sector within the game map data 310. At this time, the mapping means 240 may control the size of the indication area to be a multiple of the area of the sector 330, so that the sector 330 may be completely included within the indication area. Thus, instruction processing is performed stably by unit of the sector 330.

The control means 250 is a device for connecting the zone server 112 allocated to the identified game zone 320 to the client 120. The control means 250 serves to identify the indication area mapped on the game map data 310 and a location of the user character, selectively connect the particular zone server 112 to the client 120 in accordance with a predetermined criterion, or control information transfer with respect to character information to be performed. In distributed data processing, it is important a point of time when the zone server 112 distributing instruction processing by the game zone 320 to the client 120. In the present embodiment, time of starting connection with respect to the particular zone server 112 is determined using the aforementioned buffer sector. Hereinafter, a variety of phases of a connection between the client 120 and the zone server 112 will be described with reference to FIG. 4.

FIG. 4 is a drawing for explaining a connection type between a client and a zone server in accordance with movement of a user character.

In FIG. 4, it is assumed that a game is in progress while a user character 360 moves from the game zone A (allocating the zone server A thereto) to the game zone B (allocating the zone server B thereto). In addition, the buffer sectors 340 and 345 are defined as a row of the sector 330 adjacent to the boundary with the game zone A and the game zone B and it is assumed that the size of an indication area 350 is four times of the area of the sector 330 (the buffer sector is indicated as

First, in the screen 1, the indication area 350 is mapped only within the predetermined sector 330 of the game zone A, not in the first buffer sector 340. Thus, instruction processing is performed in such a manner that the client 120 is connected to the zone server A. That is, in the screen 1, the client 120 is connected to the zone server A and character information changes in accordance with instruction processing by the zone server and the character information is maintained in the zone server A.

In case that the user character 360 moves while a game in progress and a section of the indication area 350 is mapped on the first buffer sector 340 of the game zone A, as shown in the screen 2, the control means 250 controls the zone server B of the game zone B at which the user character 360 is expected to be located in the next to be connected to the client 120. At this time, a connection between the zone server A and the client 120 is maintained. Especially, the control means 250 confirms that the indication area 350 enters the first buffer sector 340 and, based on a mapping direction of the indication area 350, provides a network address (a URL, an IP address, a domain, etc: a network address of the zone server B, in FIG. 4) for the zone server 112 accessible in the next, as a terminal of the client 120, and controls the same to be connected to the zone server B. Information on the network address like above may be provided from the sector 330, and as the indication area 350 is mapped, the sector 330 provides the control means 250 with information on a stored network address of a particular zone server. At this time, in the screen 2, the user character 360 is located at the game zone A so that instruction processing by the zone server A may be maintained. Namely, in the screen 2, the client 120 is connected to both the zone server A and the zone server B at the same time, and in the indication area 350, a region corresponding to the game zone A is controlled to be indicated by the zone server A and a region corresponding to the game zone B to be included as the next indication area 350 by movement of the user character 360 is controlled to be indicated by the zone server B. At this time, the zone server A is maintained to continuously perform the aforementioned instruction processing, and the zone server B performs event processing (processing so that movement of other character, performed by instruction processing of the zone server B, may be realized on a display means). Character information is maintained in the zone server A in accordance with a location of the user character 360.

The screen 3 shows that the user character A moves from the game zone A to the game zone B and the mapped indication area 350 includes a section of the second buffer sector 345 of the game zone B. Accordingly, types of processing are exchanged to each other between the zone server A and the zone server B, and event processing is performed by the zone server A and instruction processing is performed by the zone server B. In addition, information transfer with respect to character information is generated in accordance with a change of the game zone 320 of the user character 360, and character information of the user character 360 retained in the existing zone server A is duplicated and transmitted to the zone server B. At this time, character information retained in the zone server A is maintained without deletion before a predetermined criterion is satisfied. Thus, it may be prepared for a change of character information by loss of character information or transmission error that may occur during information transfer.

The screen 4 shows that movement of the user character 360 is furthered, a matching point of the indication area 350 is out of the second buffer sector 345, and the indication area 350 is mapped only within the sector 330 of the game zone B, not by the second buffer sector 345. Accordingly, the control means 250 cuts off a connection between the zone server A and the client B 120 and controls character information maintained in the zone server A to be deleted.

Therefore, only for the case that the indication area 350 is mapped on the buffer sectors 340 and 345, the zone server 112 associated with each game zone 320 is controlled to be connected to the client 120. This may enable information transfer to be organically performed and a connection of the zone server to be efficiently changed in distributed data processing.

Moreover, in FIG. 4, a movement control line 370 included in the indication area 350 is for changing mapping with respect to the indication area 350. In case that the location of the user character 360 is identical to the movement control line 370, the indication area is enabled to be remapped on the basis of the entry direction of the user character. Accordingly, mapping of the indication area 350 according to movement of the user character 360 may be re-performed. In addition, because control of a change with respect to the zone server 112 is enabled in accordance with a change of the game zone 320 at which the user character 360 is located, effects of data distribution may be improved.

In FIG. 4, mapping with respect to the indication area 350 is enabled to completely include the sector 330, however, it will be apparent to those skilled in the related art that only one section of the particular sector 330 is enabled to be included in the indication area 350 by considering flexibility in converting a game screen.

The confirmation means 260 is a device for confirming a map (or a stage) at which the user character 360 is located when a game is in progress, thereby generating character location information. The generated character location information may be used as data for deciding a mapping location of the indication area 350. That is, the confirmation means 260 recognizes a character location at an online game provided for the client 120 and enables the mapping location of the indication area 350 to be selected by the mapping means 240.

The character information database 270 is a device for updating and storing character information changing in accordance with game progress. The character information database 270 records and maintains character information updated by the zone server 112 having a right for updating. In the present embodiment, character information is mainly managed by the character information database 270, however, in case that the game is in progress by connection of the client 120, management with respect to character information may be performed by the zone server 112 performing instruction processing. That is, character information stored in the character information database 270 is duplicated and transmitted to the zone server 112 having a right for updating, and updating with respect to the transmitted character information is performed by the zone server 112. The character information updated by the zone server 112 may be transferred to another game zone 320 (or character information database 270) in accordance with change of a right for updating, or may be transferred to the character information database 270 in accordance with a signal of the client 120 for ending a connection to the game.

Although not illustrated in FIG. 2, the distributed data processing system 200 according to one preferred embodiment of the present disclosure may further include a database management module for managing the aforementioned databases 210 and 270. The database management module of the distributed data processing system 200 according to the present disclosure may be embodied for the object of the present disclosure using RDBMS (Relational Database Management Systems) such as Oracle, Infomix, Sybase, DB2, and the like, or OODBMS (Object-Oriented Database Management Systems) such as Gemston, Orion, O2, and the like.

Operations of the distributed data processing system 200 having a configuration like above according to the present disclosure will be in detail described.

FIG. 5 is a flowchart illustrating a distributed data processing method according to a preferred embodiment of the present disclosure.

The distributed data processing method according to the present embodiment is performed by the aforementioned distributed data processing system 200.

First, the distributed data processing system 200 maintains the zone information database 210 for storing the game map data 310 that are divided into at least one game zone 320 (S510). This step is a procedure for recording and maintaining information on the game zone 320 constituting the game map data 310. Thus, the entire map on which game is performed is stored (refer to FIG. 3).

In the next, the distributed data processing system 200 allocates zone servers 112 for implementing instruction processing with respect to the user character 360, to each of the game zones 320 (S520). This step S520 is a procedure for associating the zone server 112 by particular areas, thereby generating effects of physical data distribution. Therefore, the zone server 112 is allocated to the game zone 320, so as to generate effects of the optimal data distribution on the basis of data processing capacity of the zone server 112 or the size of the game zone 320 (the number of retaining sectors 330).

Moreover, the distributed data processing system 200 maps the indication area 350 indicated on a predetermined display means, on the game map data 310, and identifies the game zone 320 at which the mapped indication area 350 is located (S530). This step S530 is a procedure for confirming the location of the user character 360 on the game map data 310, abstracting a predetermined area including the user character 360, and displaying the abstracted area on the display means.

Furthermore, the distributed data processing system 200 connects the client 120 to the zone server 112 that is allocated to the identified game zone 320 (S540). This step S540 is a procedure for determining the zone server 112 to process a control instruction of the client 120 with respect to the user character 360 and connecting the zone server 112 to the client 120. Especially, in this step S540, the number of zone servers 112 to be connected may be flexibly adjusted in accordance with a mapping point of the indication area 350, and in order to guarantee the flexibility in a connection of the zone server 112 like above, the present disclosure defines a predetermined area of the game zone 320 as a buffer sector. Hereinafter, a change of the zone server 112 connected to the client 120 in accordance with a mapping location of the indication area 350 will be described with reference to FIG. 6.

FIG. 6 is a flowchart illustrating a method of changing a zone server based on a mapping location of an indication area according to the present disclosure.

At this time, a first game zone indicates the game zone 320 at which the user character 360 is currently located (e.g., the game zone A in FIG. 4), and a second game zone may indicate the game zone 320 to which the user character 360 may moves in the next (e.g., the game zone B in FIG. 4).

First, the distributed data processing system 200 connects the client 120 to a first zone server allocated to the first game zone at which the user character 360 is located (S610). This step S610 is a procedure for connecting the first zone server 112 processing a control instruction received from the client 120. At this time, the first zone server connected to the client 120 performs instruction processing with respect to the user character 360.

In the next, the distributed data processing system 200 defines a section of the first game zone as a buffer sector, based on a boundary with the second game zone (S620). This step S620 is a procedure for making a boundary with the first game zone and the second game zone recognized by the distributed data processing system 200 in accordance with movement of the user character 360. For example, the sector 330 may be defined as a buffer sector or the range of a predetermined area (width) from the game zone 320 may be defined as a buffer sector by the definition means 230. In the present embodiment, the particular sector 330 is defined as a buffer sector by considering the fact that the game zone 320 consists of the predetermined number of sectors 330, however, this is for unified explanations.

Furthermore, the distributed data processing system 200 determines whether the indication area 350 includes at least one section of the buffer sector (S630). This step S630 is a procedure for determining whether any mapping point of the indication area 350 mapped by movement of the user character 360 is overlapped with the range (width) defined as the buffer sector. For example, the control means 250 confirms whether a buffer sector specified by predetermined virtual coordinates is identical to the indication area 350.

In case that it is determined that the indication area 350 includes one section of the buffer sector in the step S630 (Yes direction in S630), the distributed data processing system 200 transmits a network address of the second zone server allocated to the second game zone to the client 120 (S640). This step S640 is a procedure for informing in advance that the game zone 320 at which the user character 360 is located is changed in the near time. For example, the game zone 320, a next mapping point of the indication area 350, is pre-recognized on the basis of a mapping direction of the indication area 350 (entry direction of the user character 360). At this time, the game zone 320 capable of being mapped in the next may be at least one. The network address of the zone server 112 allocated to the game zone 320 may be an IP address, a URL, a Domain, and the like.

Furthermore, the distributed data processing system 200 connects the second zone server to the client 120 based on the transmitted network address (S650). This step S650 is a procedure for connecting the client 120 to the second zone server based on the transmitted network address as a section of the indication area 350 enters a buffer sector. That is, this step S650 shows that it is necessary to provide a game screen related to the second game zone in the near time, from game screens provided for the client 120. As the user character 360 approaches a boundary with the game zone, all the related zone servers 112 are connected to the client 120. Accordingly, the zone servers 112 connected to the client 120 are the first zone server and the second zone server, and only for the case where a mapping point of the indication area 350 is located on a buffer sector, at least two zone servers 112 are connected. In this manner, the object of the present disclosure for efficiently generating effects of data distribution is faithfully performed.

Furthermore, in the step S650, the distributed data processing system 200 may control the zone servers 112 connected to the client 120 to be in charge of respectively different kinds of processing in accordance with a location of the user character 360 within the indication area 350. This will be described with reference to FIG. 7.

FIG. 7 is a flowchart illustrating a method of specifying a type of processing in a zone server.

As illustrated in FIG. 7, the distributed data processing system 200 controls the first zone server to be in charge of instruction processing (S752). This step S752 is a procedure for controlling instruction processing with respect to the user character 360 to be performed by the first zone server, considering that the user character 360 is located at the first game zone.

Moreover, the distributed data processing system 200 controls the second zone server to be in charge of an event occurring at the second game zone that is indicated on the indication area 350 (S754). This step S754 is a procedure for visualizing a phase of game progress of other characters (other user character, a NPC, a monster, etc) processed by the second zone server and providing the same for the client 120 locating the user character at the first game zone. The event processing like above is performed by the second zone server.

Accordingly, only for the case where the user character 360 approaches a boundary with the game zone 320 and thereby is required to receive data from respectively different zone servers 112, the client 120 is connected to related zone servers 112 at the same time. Thus, there is an effect that it is possible to restrain data from concentrating on the particular zone server 112.

The present embodiment does not particularly define whether a user character crosses a boundary with a first game zone and a second game zone. However, in case that the user character crosses the boundary with the game zone to enter the second game zone, it may be easily induced that the existing second game zone becomes a first game zone and based on the aforementioned embodiments, there is a change of processing that the first zone server or the second zone server is in charge of.

Hereinafter, as for another embodiment of the present disclosure, updating with respect to character information changing in accordance with game progress and information transfer of character information will be described.

FIG. 8 is a flowchart illustrating a method of updating character information according to the present disclosure.

Updating with respect to character information and information transfer of character information may be performed in succession after the step S650 in FIG. 6.

First, the distributed data processing system 200 maintains the character information database 270 for storing character information of the user character 360 (S810). This step S810 is a procedure for storing character information on power, items, technology, etc, retained by the user character 360. Character information may be stored in the character information database 270, in such a manner that updated information is received in real time from each of the zone servers 112 or that character information of the corresponding user character 360 is received at once from the zone server 112 when a right for updating is retrieved. The present disclosure may adopt the aforementioned two storage methods, and in the following embodiment, a method of storing character information in accordance with a change of a right for updating will be described.

In the next, the distributed data processing system 200 duplicates character information from the character information database 270, thereby providing the same for the first zone server (S820). This step S820 is a procedure for providing character information for the first zone server of the first game zone at which the user character 360 is located. For example, when the client 120 is connected to a game for the first time, transfer with respect to character information may be performed.

In addition, the distributed data processing system 200 gives a right for updating the provided character information to the first zone server (S830). This step S830 is a procedure for enabling the first zone server to update obtained items/technology and all the numerical values changing in accordance with game progress of the user character 360, in which the first zone server performs instruction processing with respect to the user character 360. That is, character information is updated by the zone server 112 of the game zone 320 at which the user character is located.

Furthermore, the distributed data processing system 200 updates character information in accordance with instruction processing of the first zone server (S840). This step S840 is a procedure for reflecting changed matters of data generating by instruction processing with respect to the user character in character information. Accordingly, character information is enabled to be updated continuously and in real time and updated character information is recorded in a predetermined memory (not illustrated) of the first zone server.

In case that the user character 360 leaves the first game zone by movement of the user character 360 while a game in progress, the distributed data processing system 200 retrieves the given right for updating (S850). This step S850 is a procedure for, in case that the user character 360 changes the game zone 320 located thereby 360, retrieving a right for updating given to the existing first game zone and giving a right for updating the corresponding user character 360 to the zone server 112 of the game zone 320 to which the user character 360 moves. At this time, the distributed data processing system 200 may control updated character information, besides the aforementioned right for updating, to be transmitted to the zone server 112 (or the character information database 270) to which the user character 360 moves.

Accordingly, according to the present disclosure, there is an effect that loss or distort of character information may be reduced by enabling updating with respect to character information and information transfer to be performed in accordance with a location of the user character 360.

Hereinafter, information transfer of character information in accordance with movement of the user character 360 to another game zone 320 will be described.

FIG. 9 is a flowchart illustrating a method of transferring information on character information.

The distributed data processing system 200 duplicates updated character information from the first zone server and transmits the duplicated character information to the second zone server (S960). This step S960 is a procedure for transferring information on character information in case that the user character 360 leaves the first game zone to enter the second game zone. For example, updated character information is duplicated form the first zone server by the control means 250 and recorded in the second zone server. At this time, it is prepared for loss or distort of character information that may occur by enabling the first zone server to record and maintain character information.

In the next, the distributed data processing system 200 controls the second zone server to be in charge of instruction processing by giving a right for updating to the second zone server (S970). This step S970 is a procedure for updating transferred character information in accordance with game progress by enabling instruction processing with respect to the user character 360 to be performed by the second zone server. Namely, as the user character 360 is located at the second game zone, the zone server 112 for performing instruction processing is changed.

In addition, the distributed data processing system 200 controls the first zone server to be in charge of an event occurring at the first game zone that is indicated on the indication area 350 (S980). This step S980 is a procedure for enabling kinds of processing to be converted, so that the first zone server performing instruction processing may process an event. A screen associated with the first game zone on the indication area 350 is provided for the client 120 (refer to FIG. 4).

Accordingly, there is an effect that data distribution processing between the boundaries with the game zones 320 may be efficiently performed by enabling flexible conversion of processing between the zone servers 112 in accordance with movement of the user character 360 to another game zone 320.

As for another embodiment of the present disclosure, in the step S850 of retrieving the aforementioned right for updating, a connection between the first zone server and the client 120 is cut off, based on whether a mapping point of the indication area 350 leaves a buffer sector defined in the second game zone.

FIG. 10 is a flowchart illustrating a method of determining whether a connection between a first zone server and a client is cut off.

First, the distributed data processing system 200 defines a section of the second game zone as a second buffer sector, based on a boundary with the first game zone (S1051). This step S1051 is a procedure for defining a section of the sector 330 of the second game zone as a buffer sector by the definition means 230. The explanation in relation thereto is same to the aforementioned procedure of defining a buffer sector and omitted herein.

In the next, the distributed data processing system 200 determines whether the indication area 350 includes at least one section of the second buffer sector (S1052). This step S1052 is a procedure for confirming whether the indication area 350 is mapped on the second buffer sector after the user character 360 leaves the first game zone. That is, it is identified to what extent the user character 360 located at the second game zone approaches a boundary with the first game zone and it is confirmed whether it is required to provide a game screen related to the first game zone from game screens provided for the client 120.

In case that it is determined that the indication area 350 includes a section of the second buffer sector (Yes direction in the step S1052), the distributed data processing system 200 maintains a connection between the first zone server and the client 120 (S1053). This step S1053 is a procedure for maintaining a connection with the first zone server so that an event may be performed by the first zone server. Therefore, after a certain period passes, it is controlled to return to the step S1052 and continuously determined whether the indication area 350 includes at least one section of the buffer sector.

On the other hand, in case that it is determined that the indication area 350 does not includes the second buffer sector (No direction in the step S1052), the distributed data processing system 200 cuts off a connection between the first zone server and the client 120 (S1054). This step S1054 is a procedure for removing a connection between the first zone server and the client 120 as a target of an event is extinguished in connection with the first game zone within the indication area 350. Hereafter, the client 120 maintains a connection only with the second zone server for instruction processing with respect to the user character 360.

Moreover, in case that it is determined that the indication area 350 does not include a buffer sector, the distributed data processing system 200 deletes character information maintained in the first zone server (S1055). This step S1055 is a procedure for deleting character information stored in the first zone server at a point of time when a location of the user character 360 is changed into the second game zone and a mapping point of the indication area 350 is out of the second buffer sector. Namely, when information transfer with respect to character information is performed, character information maintained in the first zone server in preparation for loss or distort of information is deleted and updating with respect to character information is performed by the second zone server. In the present embodiment, character information is deleted on the basis of when a mapping point of the indication area 350 leaves the first game zone. However, this is only one embodiment of the present disclosure. For example, there may be a variety of methods of setting criteria such as a method based on the point of time when a location of the user character 360 moves to another game zone 320. A method of determining when to delete character information may be flexibly determined by the operator of the present system considering system environments.

Therefore, according to the present disclosure, it may be possible to enhance a change of the zone server 112 connected to the client 120 in accordance with movement of the user character 360. Thus, there is an effect that it is possible to restrain data load from concentrating on the particular zone server 112 and it is also possible to reduce loss or distort of information that may occur during information transfer of character information.

Hereinafter, as for another embodiment of the present disclosure, remapping of the indication area 350 in accordance with movement of the user character 360 will be described.

FIG. 11 is a flowchart illustrating a method of resetting a mapping point of an indication area according to the present disclosure.

The present embodiment may be performed in the step S530 for identifying the game zone 320 at which the aforementioned indication area 350 is located. In addition, the movement control line 370 is a dotted line in FIG. 4.

First, the distributed data processing system 200 confirms the movement control line 370 for changing a mapping point on the game map within the indication area 350 (S1110). This step S1110 is a procedure for drawing a kind of virtual line in order to recognize a change of a mapping point of the indication area 350. The movement control line 370 may be flexibly determined by the operator of the present system considering the optimal range in which movement of the user character 360 and a smooth game screen thereby may be provided for the client 120.

In the next, the distributed data processing system 200 identifies a location of the user character 360 within the indication area 350 (S1120). This step SI 120 is a procedure for recognizing a location of the user character 360 within the mapped indication area. Especially, it is determined whether the location of the user character 360 is identical to the movement control line 370 (S1125). Namely, as the user character 360 continues to move toward a certain direction, the same 360 approaches the movement control line 370 and it is identified that the user character 360 is located on the movement control line 370 at a certain point of time.

In case that it is determined that the location of the user character 360 is identical to the movement control line 370 in the step S1125, the distributed data processing system 200 remaps the indication area 350 on the game map on the basis of an entry direction of the user character 360 (S1130). Namely, predetermined game map data 310 are re-abstracted considering movement of the user character 360 and the re-abstracted map is provided for the client 120. At this time, the predetermined game map data 310 become the background of a game screen.

On the other hand, in case that it is determined that the location of the user character 360 is not identical to the movement control line 370 in the step S1125, the distributed data processing system 200 maintains a map provided as a game screen and performs instruction processing with respect to the user character 360. In addition, the distributed data processing system 200 performs the step S1125 every predetermined period (or in real time) and continuously identifies a location of the user character 360.

Accordingly, according to the present disclosure, a screen may be smoothly converted by remapping the indication area 350 in accordance with movement of the user character 360. In addition, movement of the user character 360 within a certain range is guaranteed without conversion of a screen. Thus, there is an effect that it is possible to prevent unnecessary conversion of a screen and to save system resources.

The embodiments of the present disclosure include computer readable media including program instructions to implement various operations embodied by a computer. The media may also include, alone or in combination with the program instructions, data files, data structures, tables, and the like. The media and program instructions may be those specially designed and constructed for the purposes of the present disclosure, or they may be of the kind well known and available to those having skill in the computer software arts. Examples of computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROM disks; magneto-optical media such as floptical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory devices (ROM) and random access memory (RAM). The media may also be a transmission medium such as optical or metallic lines, wave guides, etc. including a carrier wave transmitting signals specifying the program instructions, data structures, etc. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter.

FIG. 12 is an internal block diagram of a general-purpose computer which can be more adopted in implementing the distributed data processing method according to the present disclosure.

The computer system 1200 includes any number of processors 1210 (also referred to as central processing units, or CPUs) that are coupled to storage devices including primary storage (typically a random access memory, or “RAM 1220”), primary storage (typically a read only memory, or “ROM 1230”). As is well known in the art, ROM 1230 acts to transfer data and instructions uni-directionally to the CPU and RAM 1220 is used typically to transfer data and instructions in a bi-directional manner. Both of these primary storage devices may include any suitable type of the computer-readable media described above. A mass storage device 1240 is also coupled bi-directionally to CPU and provides additional data storage capacity and may include any of the computer-readable media described above. The mass storage device 1240 may be used to store programs, data and the like and is typically a secondary storage medium such as a hard disk that is slower than primary storage. A specific mass storage device such as a CD-ROM 1260 may also pass data uni-directionally to the CPU. Processor 1210 is also coupled to an interface 1250 that includes one or more input/output devices such as such as video monitors, track balls, mice, keyboards, microphones, touch-sensitive displays, transducer card readers, magnetic or paper tape readers, tablets, styluses, voice or handwriting recognizers, or other well-known input devices such as, of course, other computers. Finally, processor 1210 optionally may be coupled to a computer or telecommunications network using a network connection as shown generally at a network interface 1270. With such a network connection, it is contemplated that the CPU might receive information from the network, or might output information to the network in the course of performing the above-described method steps. The above-described devices and materials will be familiar to those of skill in the computer hardware and software arts.

The hardware elements above may be configured to act as one or more software modules for implementing the operations of this invention.

The foregoing descriptions of specific embodiments of the present disclosure have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching.

Therefore, it is intended that the scope of the invention be defined by the claims appended thereto and their equivalents.

Although the present disclosure has been described in connection with the embodiment of the present disclosure illustrated in the accompanying drawings, it is not limited thereto since it will be apparent to those skilled in the art that various substitutions, modifications and changes may be made thereto without departing from the scope and spirit of the invention.

Thus, according to the present disclosure, there is provided a distributed data processing method by an online game server and a system thereof, in which a predetermined range based on the boundary with a game zone is defined as a buffer sector, and as a section of the buffer sector is included in an indication area, a user character connects a zone server of a game zone to which the user character moves next, to a client.

Furthermore, according to the present disclosure, there is also provided a distributed data processing method by an online game server and a system thereof which may confirm that an indication area is located on a different game zone and restrain load of data from concentrating on a particular zone server by connecting an associated zone server to a client.

Furthermore, according to the present disclosure, there is also provided a distributed data processing method by an online game server and a system thereof which perform information transfer with respect to character information when a user character within an indication area changes a game zone to another and is located thereat.

Furthermore, according to the present disclosure, there is provided a distributed data processing method by an online game server and a system thereof which perform information transfer and updating with respect to character information by location of a user character, thereby efficiently reducing loss or distort of character information. 

1. A method for providing an online game, the method comprising: maintaining game map data of at least one game zone; associating a plurality of zone servers for a plurality of game zones, wherein each zone server processes information about a user character in an associated game zone; determining the character location space on the game map data; connecting the client to a first zone server for a first game zone at which a predetermined user character is located, wherein the first game zone is adjacent to a second game zone; defining a section of the first game zone as a buffer sector based on a boundary of the first game zone with the second game zone; determining whether the character location space includes a portion of the buffer sector; and subsequent to determining whether the character location space includes a portion of the buffer sector, connecting the client to a second zone server for the second game zone.
 2. The method of claim 1, wherein the game map data is stored in a zone information database.
 3. The method of claim 1, wherein said step of connecting the client to a second zone server comprises: controlling the first zone server, wherein the first zone server is responsible for the instruction processing including controlling the user character; and controlling the second zone server, wherein the second zone server is responsible for an event within the character location space occurring within the second game zone, including a visualization of game progress by other characters.
 4. The method of claim 2, further comprising the steps of: maintaining a character information database for storing character data for the user character; copying the character data to the first zone server; granting the first zone server authorization to modify the copied character data according to the instruction processing of the first zone server; determining whether the user character leaves the first game zone; and subsequent to determining whether the user character leaves the first game zone, denying the first zone server authorization to modify the copied character data.
 5. The method of claim 4, further comprising the steps of: copying the copied character data from the first zone server to the second zone server; granting the second zone server authorization to modify the second zone's copied character data; controlling the second zone server responsible for instruction processing; and controlling the first zone server responsible for an event within the character location space occurring in the first game zone.
 6. The method of claim 5, wherein said step of denying the first zone server authorization to modify the copied character data comprises: defining a section of the second game zone as a second buffer sector, based on a boundary of the second game zone with the first game zone; determining whether the character location space includes at least one section of the second buffer sector; determining whether the character location space does not include the second buffer sector; and subsequent to determining whether the character location space does not include the second buffer sector, terminating a connection between the first zone server and the client.
 7. The method of claim 6, wherein terminating a connection between the first zone server and the client further includes deleting the copied character data maintained in the first zone server.
 8. The method of claim 1, further comprising the steps of: defining a movement control line within the character location space for changing a determining point on the game map; determining a location of the user character within the character location space; determining whether the location of the user character is identical to the movement control line; and subsequent to determining whether the location of the user character is identical to the movement control line, determining the character location space on the game map using the entry direction of the user character.
 9. A method providing an online game, the method comprising: maintaining game map data including a buffer sector between an first game zone and an adjacent second game zone; selecting a first zone server associated with the first game zone and a second zone server associated with the second game zone; determining a character location space on the game map data; controlling a zone server to be connected to a client based on the location of the character location space; determining whether the character location space includes a portion of the buffer sector; and subsequent to determining whether the character location space includes a portion of the buffer sector, connecting the first zone server and the second zone server to the client.
 10. A computer-readable medium storing instructions when executed perform a method comprising: maintaining game map data divided into at least one game zone; associating a plurality of zone servers for a plurality of game zones, wherein each zone server implements instruction processing for a user character in an associated game zone; determining the character location space on the game map data; connecting the client to a first zone server for a first game zone at which a predetermined user character is located, wherein the first game zone is adjacent to a second game zone; defining a section of the first game zone as a buffer sector based on a boundary of the first game zone with the second game zone; determining whether the character location space includes a portion of the buffer sector; and subsequent to determining whether the character location space includes a portion of the buffer sector, connecting the client to a second zone server for the second game zone.
 11. An online game system, the system comprising: a zone information database configured to store game map data including at least one game zone; a management module configured to associate a plurality of zone servers for a plurality of game zones, wherein each zone server implements instruction processing for a user character in an associated game zone; a definition module configured to define a section of a first game zone as a buffer sector based on a boundary between the first game zone and an adjacent second game zone; a determination module configured to determine the character location space on the game map data and a target game zone in which the character location space is located, and to determine whether the at least one section of the character location space includes a portion of the buffer sector; a connection means configured to connect a client to a zone server associated with the target game zone; and a control means configured to control a zone server associated with a game zone adjacent to the target game zone subsequent to determining whether the at least one section of the character location space includes a portion of the buffer sector.
 12. A method for providing an online game, the method comprising: determining a character location space located in a first game zone on a game map, wherein the first game zone includes a buffer sector based on a boundary of the first game zone with an adjacent second game zone; connecting a client to a first zone server associated with the first game zone; determining whether the character location space includes a portion of the buffer sector; and subsequent to determining whether the character location space includes a portion of the buffer sector, connecting the client to a second zone server associated with the second game zone.
 13. An online game system, the system comprising: a determination module configured to determine a character location space located in a first game zone on a game map, wherein the first game zone includes a buffer sector based on a boundary of the first game zone with an adjacent second game zone, and to determine whether the character location space includes a portion of the buffer sector; and a connection module configured to connect a client to a first zone server associated with the first game zone, and subsequent to determining whether the character location space includes a portion of the buffer sector, further configured to connect the client to a second zone server associated with the second game zone.
 14. A method for providing an online game, the method comprising: means for determining a character location space located in a first game zone on a game map, wherein the first game zone includes a buffer sector based on a boundary of the first game zone with an adjacent second game zone; means for connecting a client to a first zone server associated with the first game zone; means for determining whether the character location space includes a portion of the buffer sector; and means for connecting the client to a second zone server associated with the second game zone subsequent to determining whether the character location space includes a portion of the buffer sector. 